package com.meituan.sdk.model.ddzh.yuding.bookClubactivityThirdPeopleSync;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 俱乐部拼场活动三方侧人数同步接口
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzh/yuding/clubactivity/thirdpeople/sync",
    businessId = 58,
    apiVersion = "10036",
    apiName = "book_clubactivity_third_people_sync",
    needAuth = true
)
public class BookClubactivityThirdPeopleSyncRequest implements MeituanRequest<BookClubactivityThirdPeopleSyncResponse> {
    /**
    * <p data-diff-id="ct-diff-id-be2b1192-4a1a-4c54-bfb5-162ed18f1187">美团商品ID</p>
    */
    @NotNull(message = "productId不能为空")
    @SerializedName("productId")
    private Long productId;
    /**
    * <p data-diff-id="ct-diff-id-271dd2bb-bc09-436c-b493-ffb191d5270d">美团SKUID</p>
    */
    @NotNull(message = "skuId不能为空")
    @SerializedName("skuId")
    private Long skuId;
    /**
    * <p data-diff-id="ct-diff-id-186d859f-b4a3-46df-84b0-41a6f9830e86">活动开场时间(单位：毫秒)</p>
    */
    @NotNull(message = "startTime不能为空")
    @SerializedName("startTime")
    private Long startTime;
    /**
    * <p data-diff-id="ct-diff-id-1cad8983-7154-4675-9a9a-41256fed5560">三方侧订单加入的总人数</p>
    */
    @NotNull(message = "personCount不能为空")
    @SerializedName("personCount")
    private Integer personCount;

    public Long getProductId() {
        return productId;
    }
    public void setProductId(Long productId) {
        this.productId = productId;
    }
    public Long getSkuId() {
        return skuId;
    }
    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }
    public Long getStartTime() {
        return startTime;
    }
    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }
    public Integer getPersonCount() {
        return personCount;
    }
    public void setPersonCount(Integer personCount) {
        this.personCount = personCount;
    }


    @Override
    public MeituanResponse<BookClubactivityThirdPeopleSyncResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<BookClubactivityThirdPeopleSyncResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "BookClubactivityThirdPeopleSyncRequest{" + "productId=" + productId + "," + "skuId=" + skuId + "," + "startTime=" + startTime + "," + "personCount=" + personCount + "}";
    }
}
